/**
 * Beijing Jiaotong University
 * Copyright (c) 1896-2016 All Rights Reserved.
 */
package com.fesc.trade.demo.service;

/**
 * 交易服务
 * @author HuHui
 * @version $Id: TradeService.java, v 0.1 2016年8月18日 上午11:43:03 HuHui Exp $
 */
public interface TradeService {

    /**
     * 条码支付
     * @param payRequest  请求参数
     */
    String pay();

    /**
     * 线上支付，创建订单接口
     * @param CreateRequest
     * @return 创建结果
     */
    String create();

    /**
     * 扫码支付，预下单(生成二维码)接口
     * @param precreateRequest
     * @return  预下单结果
     */
    String precreate();

    /**
     * 订单查询
     * @param queryRequest  请求参数
     * @return              订单查询结果信息
     */
    String query();

    /**
     * 退款订单查询
     * @param refundQueryRequest        请求参数
     * @return                          退款订单查询结果信息
     */
    String refundQuery();

    /**
     * 订单退款
     * @param refundRequest  请求参数
     * @return               退款返回结果信息
     */
    String refund();

    /**
     * 订单撤销<br>
     * 只能撤销一个自然日内的订单，超过0点，将不能撤销<br>
     * 支付交易返回失败或支付系统超时，调用该接口撤销交易。<br>
     * @param cancelRequest  请求参数，只支持根据商户订单号撤销订单
     * @return      撤销结果
     */
    String cancel();
}
